Проба Матем2
Главная     ◄Глагол     ◄Азбука     ◄Задачи на Глаголе     Примеры приложений ►   Среда разработки ►   Отладка программ ►   Отличия от Оберона ►   Отличия от Паскаля ►   Ассемблер ARM ►   Глагол для ARM ►   ? и Ответы
 
 glagol.png Программируем по-русски
 

Основная задача Глагола — дать человеку возможность воплощать свои мысли на языке, близком к его родному языку.

Издатель Глагола
 

 

(******************************************************************************)
(**)                        ОТДЕЛ ПроМатем2+;
(******************************************************************************
 * НАЗНАЧЕНИЕ: измерение быстроты вычислений
 *             математических функций 1-го аргумента
 ******************************************************************************)
ИСПОЛЬЗУЕТ 
  ОС    ИЗ "...\Отделы\Обмен\",
  Вывод ИЗ "...\Отделы\Обмен\",
  Матем ИЗ "...\Отделы\Числа\";

ПОСТ
  ВЫЧИСЛЕНИЙ = 1000000; (* число вычислений каждой функции *)

ВИД
  Вещ     = Матем.Вещ;
  Функция = ЗАДАЧА(x:Вещ):Вещ;
  
(******************************************************************************)
ЗАДАЧА Расчет(f:Функция):ВЕЩ;
ПЕР
  i,начВремя:ЦЕЛ;
  значение:Вещ;
УКАЗ
  начВремя:=ОС.Время();
  ОТ i:=1 ДО ВЫЧИСЛЕНИЙ ВЫП
    значение:=f(Матем.случ())
  КОН;
  ВОЗВРАТ (ОС.Время() - начВремя)/1000
КОН Расчет;

(******************************************************************************)
УКАЗ
  Вывод.ЧВещ("Время %d вычислений (секунды):^",ВЫЧИСЛЕНИЙ,0,0,0);
  Вывод.ЧВещ("ln     - %f^",Расчет(Матем.ln    ),0,0,0);
  Вывод.ЧВещ("log10  - %f^",Расчет(Матем.log10 ),0,0,0);
  Вывод.ЧВещ("log2   - %f^",Расчет(Матем.log2  ),0,0,0);
  Вывод.ЧВещ("exp    - %f^",Расчет(Матем.exp   ),0,0,0);
  Вывод.ЧВещ("exp10  - %f^",Расчет(Матем.exp10 ),0,0,0);
  Вывод.ЧВещ("exp2   - %f^",Расчет(Матем.exp2  ),0,0,0);
  Вывод.ЧВещ("sin    - %f^",Расчет(Матем.sin   ),0,0,0);
  Вывод.ЧВещ("cos    - %f^",Расчет(Матем.cos   ),0,0,0);
  Вывод.ЧВещ("tg     - %f^",Расчет(Матем.tg    ),0,0,0);
  Вывод.ЧВещ("arcsin - %f^",Расчет(Матем.arcsin),0,0,0);
  Вывод.ЧВещ("arccos - %f^",Расчет(Матем.arccos),0,0,0);
  Вывод.ЧВещ("arctg  - %f^",Расчет(Матем.arctg ),0,0,0);
  Вывод.ЧВещ("sh     - %f^",Расчет(Матем.sh    ),0,0,0);
  Вывод.ЧВещ("ch     - %f^",Расчет(Матем.ch    ),0,0,0);
  Вывод.ЧВещ("th     - %f^",Расчет(Матем.th    ),0,0,0);
  Вывод.ЧВещ("Arsh   - %f^",Расчет(Матем.Arsh  ),0,0,0);
  Вывод.ЧВещ("Arth   - %f^",Расчет(Матем.Arth  ),0,0,0);
(*
  Вывод.ЧВещ("Г      - %f^",Расчет(Матем.ln  ),0,0,0);
  Вывод.ЧВещ("erf    - %f^",Расчет(Матем.ln  ),0,0,0);
  Вывод.ЧВещ("erfc   - %f^",Расчет(Матем.ln  ),0,0,0);
 *)
КОН ПроМатем2.




Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
 email
 
Главная     ◄Глагол     ◄Азбука     ◄Задачи на Глаголе     Примеры приложений ►   Среда разработки ►   Отладка программ ►   Отличия от Оберона ►   Отличия от Паскаля ►   Ассемблер ARM ►   Глагол для ARM ►   ? и Ответы